package com.gitee.qdbp.general.common.api.oplog.model;

import com.gitee.qdbp.base.annotation.DataIsolation;
import com.gitee.qdbp.base.annotation.OperateTraces;

/**
 * 访问日志更新类
 *
 * @author zhh
 * @version 171129
 */
@OperateTraces(target = "where")
@DataIsolation(enable = false)
public class AccessRecordUpdate extends AccessRecordBean {

    /** 版本序列号 **/
    private static final long serialVersionUID = 1L;

    /** 租户编号是否更新为空值 **/
    private Boolean tenantCodeToNull;

    /** 用户ID是否更新为空值 **/
    private Boolean userIdToNull;

    /** 用户名是否更新为空值 **/
    private Boolean userNameToNull;

    /** IP是否更新为空值 **/
    private Boolean ipToNull;

    /** 城市是否更新为空值 **/
    private Boolean cityToNull;

    /** 请求协议是否更新为空值 **/
    private Boolean requestProtocolToNull;

    /** 请求URL是否更新为空值 **/
    private Boolean requestUrlToNull;

    /** 请求参数是否更新为空值 **/
    private Boolean requestParamsToNull;

    /** 请求描述是否更新为空值 **/
    private Boolean requestDescToNull;

    /** 来源页是否更新为空值 **/
    private Boolean refererUrlToNull;

    /** 入口是否更新为空值 **/
    private Boolean entranceToNull;

    /** 来源类型是否更新为空值 **/
    private Boolean refererTypeToNull;

    /** 来源关键词是否更新为空值 **/
    private Boolean refererKeywordToNull;

    /** UserAgent是否更新为空值 **/
    private Boolean userAgentToNull;

    /** 浏览器类型是否更新为空值 **/
    private Boolean browserTypeToNull;

    /** 浏览器版本是否更新为空值 **/
    private Boolean browserVersionToNull;

    /** 操作系统类型是否更新为空值 **/
    private Boolean osTypeToNull;

    /** 操作系统版本是否更新为空值 **/
    private Boolean osVersionToNull;

    /** 设备类型是否更新为空值 **/
    private Boolean deviceTypeToNull;

    /** 选项是否更新为空值 **/
    private Boolean optionsToNull;

    /** 更新操作的条件 **/
    private AccessRecordWhere where;

    /** 判断租户编号是否更新为空值 **/
    public Boolean isTenantCodeToNull() {
        return tenantCodeToNull;
    }

    /** 设置租户编号是否更新为空值 **/
    public void setTenantCodeToNull(Boolean tenantCodeToNull) {
        this.tenantCodeToNull = tenantCodeToNull;
    }

    /** 判断用户ID是否更新为空值 **/
    public Boolean isUserIdToNull() {
        return userIdToNull;
    }

    /** 设置用户ID是否更新为空值 **/
    public void setUserIdToNull(Boolean userIdToNull) {
        this.userIdToNull = userIdToNull;
    }

    /** 判断用户名是否更新为空值 **/
    public Boolean isUserNameToNull() {
        return userNameToNull;
    }

    /** 设置用户名是否更新为空值 **/
    public void setUserNameToNull(Boolean userNameToNull) {
        this.userNameToNull = userNameToNull;
    }

    /** 判断IP是否更新为空值 **/
    public Boolean isIpToNull() {
        return ipToNull;
    }

    /** 设置IP是否更新为空值 **/
    public void setIpToNull(Boolean ipToNull) {
        this.ipToNull = ipToNull;
    }

    /** 判断城市是否更新为空值 **/
    public Boolean isCityToNull() {
        return cityToNull;
    }

    /** 设置城市是否更新为空值 **/
    public void setCityToNull(Boolean cityToNull) {
        this.cityToNull = cityToNull;
    }

    /** 判断请求协议是否更新为空值 **/
    public Boolean isRequestProtocolToNull() {
        return requestProtocolToNull;
    }

    /** 设置请求协议是否更新为空值 **/
    public void setRequestProtocolToNull(Boolean requestProtocolToNull) {
        this.requestProtocolToNull = requestProtocolToNull;
    }

    /** 判断请求URL是否更新为空值 **/
    public Boolean isRequestUrlToNull() {
        return requestUrlToNull;
    }

    /** 设置请求URL是否更新为空值 **/
    public void setRequestUrlToNull(Boolean requestUrlToNull) {
        this.requestUrlToNull = requestUrlToNull;
    }

    /** 判断请求参数是否更新为空值 **/
    public Boolean isRequestParamsToNull() {
        return requestParamsToNull;
    }

    /** 设置请求参数是否更新为空值 **/
    public void setRequestParamsToNull(Boolean requestParamsToNull) {
        this.requestParamsToNull = requestParamsToNull;
    }

    /** 判断请求描述是否更新为空值 **/
    public Boolean isRequestDescToNull() {
        return requestDescToNull;
    }

    /** 设置请求描述是否更新为空值 **/
    public void setRequestDescToNull(Boolean requestDescToNull) {
        this.requestDescToNull = requestDescToNull;
    }

    /** 判断来源页是否更新为空值 **/
    public Boolean isRefererUrlToNull() {
        return refererUrlToNull;
    }

    /** 设置来源页是否更新为空值 **/
    public void setRefererUrlToNull(Boolean refererUrlToNull) {
        this.refererUrlToNull = refererUrlToNull;
    }

    /** 判断入口是否更新为空值 **/
    public Boolean isEntranceToNull() {
        return entranceToNull;
    }

    /** 设置入口是否更新为空值 **/
    public void setEntranceToNull(Boolean entranceToNull) {
        this.entranceToNull = entranceToNull;
    }

    /** 判断来源类型是否更新为空值 **/
    public Boolean isRefererTypeToNull() {
        return refererTypeToNull;
    }

    /** 设置来源类型是否更新为空值 **/
    public void setRefererTypeToNull(Boolean refererTypeToNull) {
        this.refererTypeToNull = refererTypeToNull;
    }

    /** 判断来源关键词是否更新为空值 **/
    public Boolean isRefererKeywordToNull() {
        return refererKeywordToNull;
    }

    /** 设置来源关键词是否更新为空值 **/
    public void setRefererKeywordToNull(Boolean refererKeywordToNull) {
        this.refererKeywordToNull = refererKeywordToNull;
    }

    /** 判断UserAgent是否更新为空值 **/
    public Boolean isUserAgentToNull() {
        return userAgentToNull;
    }

    /** 设置UserAgent是否更新为空值 **/
    public void setUserAgentToNull(Boolean userAgentToNull) {
        this.userAgentToNull = userAgentToNull;
    }

    /** 判断浏览器类型是否更新为空值 **/
    public Boolean isBrowserTypeToNull() {
        return browserTypeToNull;
    }

    /** 设置浏览器类型是否更新为空值 **/
    public void setBrowserTypeToNull(Boolean browserTypeToNull) {
        this.browserTypeToNull = browserTypeToNull;
    }

    /** 判断浏览器版本是否更新为空值 **/
    public Boolean isBrowserVersionToNull() {
        return browserVersionToNull;
    }

    /** 设置浏览器版本是否更新为空值 **/
    public void setBrowserVersionToNull(Boolean browserVersionToNull) {
        this.browserVersionToNull = browserVersionToNull;
    }

    /** 判断操作系统类型是否更新为空值 **/
    public Boolean isOsTypeToNull() {
        return osTypeToNull;
    }

    /** 设置操作系统类型是否更新为空值 **/
    public void setOsTypeToNull(Boolean osTypeToNull) {
        this.osTypeToNull = osTypeToNull;
    }

    /** 判断操作系统版本是否更新为空值 **/
    public Boolean isOsVersionToNull() {
        return osVersionToNull;
    }

    /** 设置操作系统版本是否更新为空值 **/
    public void setOsVersionToNull(Boolean osVersionToNull) {
        this.osVersionToNull = osVersionToNull;
    }

    /** 判断设备类型是否更新为空值 **/
    public Boolean isDeviceTypeToNull() {
        return deviceTypeToNull;
    }

    /** 设置设备类型是否更新为空值 **/
    public void setDeviceTypeToNull(Boolean deviceTypeToNull) {
        this.deviceTypeToNull = deviceTypeToNull;
    }

    /** 判断选项是否更新为空值 **/
    public Boolean isOptionsToNull() {
        return optionsToNull;
    }

    /** 设置选项是否更新为空值 **/
    public void setOptionsToNull(Boolean optionsToNull) {
        this.optionsToNull = optionsToNull;
    }

    /** 获取更新操作的条件 **/
    public AccessRecordWhere getWhere() {
        return where;
    }

    /** 获取更新操作的条件, force=是否强制返回非空条件 **/
    public AccessRecordWhere getWhere(boolean force) {
        if (where == null && force) {
            where = new AccessRecordWhere();
        }
        return where;
    }

    /** 设置更新操作的条件 **/
    public void setWhere(AccessRecordWhere where) {
        this.where = where;
    }
}